package com.cy.service;

import com.cy.service.factory.RemoteFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

/**基于@FeignClient定义远程服务调用接口,这个接口不需要我们自己写实现类
 * 底层会在服务启动时帮我们创建实现(代理对象)，在实现类内部进行远程服务调用
 * 其中：
 * 1.name属性的值为nacos中的服务名
 * 2.contextId为一个上下文id,一般就写当前接口名*/
@FeignClient(name = "sca-provider",
        contextId = "remoteProviderService",
        fallbackFactory = RemoteFallbackFactory.class) //sca-provider为nacos中的服务名
public interface RemoteProviderService {
    @GetMapping("/provider/echo/{msg}")
    public String echoMsg(@PathVariable String msg);
}

